package jmine.tec.hydra.codec;

import jmine.tec.hydra.api.HydraMessage;
import jmine.tec.hydra.script.DecodeResult;

/**
 * Interface que determina o comportamento de um Decoder. As implementações desta interface deveram conter a lógica de como se decodificar
 * uma mensagem texto para uma lista de serviços
 * 
 * @author piercio.
 */
public interface Decoder {

    /**
     * Decodifica uma message para uma lista de serviços.
     * 
     * @param message message do hydra.
     * @return a lista de serviços a serem executados.
     */
    DecodeResult decode(HydraMessage message);
}